import cors from '@koa/cors'
import Koa from 'koa'
import koaBody from 'koa-body'
import compose from 'koa-compose'
import compress from 'koa-compress'
import helmet from 'koa-helmet'
import json from 'koa-json'
import koastatic from 'koa-static'
import path from 'path'
import router from './routes/routes'
// 实例化
const app = new Koa()

// 判断是否为开发模式，是则true，否则false
const isDevMode = process.env.NODE_ENV !== 'production'

//使用koa-compose集成中间件
const middleware = compose([
  cors(),//cors跨资源共享，跨域问题
  json(),//Json格式
  koaBody(),//前端body的数据
  helmet(),//安全的header
  koastatic(path.join(__dirname, '../public')),//静态资源
])

//生产模式压缩中间件
if (!isDevMode) {
  app.use(compress())
}
app.use(middleware)
app.use(router())//路由
app.listen(3000)